package chapterright06;

/**
 * Created by Miracle yaochengwei on 2022/5/28 13:35
 */
public class ArrayReverse02 {
    public static void main(String[] args) {
        //定义数组
        int[] arr = {11, 22, 33, 44, 55, 66};
        //使用逆序赋值方式
        //老韩思路
        //1.  先创建一个新的数组 arr2 ,大小 arr.length
        //2.  逆序遍历 arr ,将 每个元素拷贝到 arr2 的元素中(顺序拷贝)
        //3. 建议增加一个循环变量 j -> 0 -> 5
        int[] arr2 = new int[arr.length];
        //循环遍历arr
        //逆序，就是从最大的 向最小的 一个个排序，int i = arr.length -1
        // 这个是最大的arr.length -1  减去1 就是int[] arr 最后一个数字
        //只要i 大于0 i同样要减去1.意思i =1 减去1 就是0  就可以执行，i -- 是倒着来的
        //i是从后往前走， j是从前往后走
        for (int i = arr.length -1,j = 0;i >= 0;i--,j++){
       // for (int i = arr.length -1,j=0;i>=0;i--,j++){
            //i是从后往前走， j是从前往后走
            arr2[j] = arr[i];
        }
        //4.当for循环结束后，arr2就是一个逆向的数组{66，55，44，33，22，11}
        //5.让 arr 指向 arr2 数据空间，此时arr原来的数据空间就没有变量引用
        //会被当作  ，垃圾销毁
        //数组的赋值是一个地址
        arr = arr2;//就是把arr2 的地址给了arr
        System.out.println("=====arr的元素情况=====");
        //6。输出arr  看看
        for(int i = 0; i < arr.length;i++){
            System.out.println(arr[i] + "\t");

        }
    }
}
